package com.xiaomaoguai.curator.common.conf;

import org.aeonbits.owner.Config;

/**
 * @fileName: ServerConfig.java
 * @author: WeiHui.Zhang
 * @date: 2016-11-04  18:31
 * @version: v1.0.0
 */
@Config.Sources(value = "classpath:serverConfig.properties")
public interface ServerConfig extends Config {

	/**
	 * zookeeper 链接地址
	 *
	 * @return
	 */
	@Key("${env}.zkClusterAddress")
	String zkClusterAddress();

	/**
	 * session 超时时间
	 *
	 * @return
	 */
	@Key("${env}.sessionTimeoutMs")
	int sessionTimeoutMs();

	/**
	 * 连接超时时间
	 *
	 * @return
	 */
	@Key("${env}.connectionTimeoutMs")
	int connectionTimeoutMs();

	/**
	 * 扫描包路径
	 *
	 * @return
	 */
	@Key("${env}.scanPackage")
	String[] scanPackage();

	/**
	 * 可以通过env参数实现不同开发环境的隔离
	 *
	 * @return
	 */
	@Key("env")
	@DefaultValue("dev")
	String env();

}